import { ElMessage } from "element-plus";

/**
 * 通用复制工具
 */
export function useClipboard() {
  /**
   * 复制文本到剪贴板
   * @param text 要复制的文本
   * @param showMessage 是否显示提示
   */
  const copy = async (text: string, showMessage = true) => {
    if (!text) {
      showMessage && ElMessage.warning("复制内容为空");
      return false;
    }

    try {
      // 优先使用 Clipboard API
      await navigator.clipboard.writeText(text);
      showMessage && ElMessage.success("复制成功");
      return true;
    } catch (err) {
      // fallback：execCommand
      try {
        const textarea = document.createElement("textarea");
        textarea.value = text;
        textarea.style.position = "fixed";
        textarea.style.opacity = "0";
        document.body.appendChild(textarea);
        textarea.select();
        document.execCommand("copy");
        document.body.removeChild(textarea);
        showMessage && ElMessage.success("复制成功");
        return true;
      } catch (e) {
        showMessage && ElMessage.error("复制失败，请手动选择复制");
        return false;
      }
    }
  };

  return { copy };
}
